package objects;

/**
 * This is a prototype for the item interface.
 * 
 * @author Kyle_Solo
 */
public interface Item {

	/**
	 * @return how many of this item are in this stack
	 */
	public boolean getNumber();

	/**
	 * This event is triggered when one GameObject wants to drop another
	 * 
	 * @param other
	 *            the GameObject that attempted to pick up the item
	 * @return the item to drop
	 */
	public GameObject onDrop(GameObject other);

	/**
	 * This event is triggered when one GameObject wants to pick up another
	 * 
	 * @param other
	 *            the GameObject that attempted to pick up the item
	 * @return the item to add to the relevant inventory
	 */
	public Item onPickup(GameObject other);
}
